home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 140 / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan).7z / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan) (Track 1).bin / tools / xpicw / xpicw110.lzh / WLSource / xlogo.s < prev    next >
Encoding:
Text File  |  1997-07-11  |  11.0 KB  |  701 lines

  1. *    xlogo.s
  2. *        Xロゴ / 最高速 = 2
  3. *            by Mitsuky
  4.  
  5.     .include    DOSCALL.MAC
  6.  
  7. SPEED_MAX    equ    2
  8.  
  9.     .offset    8        * 引き数
  10. _source_ptr:    .ds.l    1
  11. _dest_ptr:    .ds.l    1
  12. _speed:        .ds.l    1
  13. _vdisp:        .ds.l    1
  14.  
  15.  
  16.     .offset    0
  17. gvram_ptr:    .ds.l    1
  18. counter:    .ds.w    1
  19. work_size:
  20.  
  21.  
  22. gpos    .macro    pos_x,pos_y
  23.     .dc.w    (pos_y*1024)+(pos_x*2)
  24.     .endm
  25.  
  26. dpos    .macro    pos_x,pos_y,wait
  27.     .dc.l    wait<<24|pos_y<<4<<10|pos_x<<4<<1
  28.     .endm
  29.  
  30.  
  31.     .text
  32.     .even
  33.  
  34.     .dc.b    'WL10',$0d,$0a
  35.     .dc.b    'Xロゴ / 最高速 = 2',$0d,$0a
  36.     .dc.b    '    by Mitsuky',$0d,$0a
  37.     .dc.b    $1a
  38.     .even
  39.  
  40. xlogo:
  41.     link    a6,#0
  42.     movem.l    d1-d7/a0-a5,-(sp)
  43.  
  44.     suba.l    a5,a5
  45.  
  46.     move.l    _speed(a6),d0
  47.     bmi    xlogo_ask_speed
  48.     cmpi.l    #SPEED_MAX,d0
  49.     bhi    xlogo_err
  50.  
  51.     tst.l    _vdisp(a6)
  52.     bmi    xlogo_ask_vdisp
  53.  
  54.  
  55.     move.l    #work_size*(512/16)*(512/16),-(sp)
  56.     DOS    _MALLOC
  57.     addq.w    #4,sp
  58.     tst.l    d0
  59.     bmi    xlogo_err
  60.     movea.l    d0,a5            * a5.l = ワークのアドレス
  61.  
  62.  
  63.     movea.l    _source_ptr(a6),a2    * a2.l = 転送元アドレス
  64.     movea.l    _dest_ptr(a6),a3    * a3.l = 転送先アドレス
  65.     lea.l    table2(pc),a1        * a1.l = table2 のポインタ
  66.  
  67.             * ワークの初期化
  68.     movea.l    a5,a0
  69.     move.w    #(512/16)*(512/16)-1,d0
  70.     moveq.l    #-1,d1
  71. @@:    move.w    d1,counter(a0)
  72.     lea.l    work_size(a0),a0
  73.     dbra    d0,@b
  74.  
  75.  
  76.     lea.l    appear(pc),a0
  77.     clr.w    (a0)    * 出現カウンター
  78. xlogo_loop:
  79.     moveq.l    #SPEED_MAX,d1
  80.     sub.l    _speed(a6),d1
  81. @@:    move.l    _vdisp(a6),a0
  82.     jsr    (a0)
  83.     dbra    d1,@b
  84.  
  85.     sf.b    d5
  86.  
  87.  
  88.             * ワークを出現させる
  89. 1:
  90.     lea.l    appear(pc),a0
  91.     subq.w    #1,(a0)
  92.     bpl    5f
  93.     move.l    (a1)+,d0
  94.     bmi    4f
  95.  
  96.     movea.l    a5,a4            * a4.l = ワークのアドレス
  97. 2:    tst.w    counter(a4)
  98.     bmi    3f
  99.     lea.l    work_size(a4),a4
  100.     bra    2b
  101. 3:    move.l    d0,d1
  102.     andi.l    #$00ffffff,d1
  103.     move.l    d1,gvram_ptr(a4)
  104.     clr.w    counter(a4)
  105.     rol.l    #8,d0
  106.     andi.w    #$00ff,d0
  107.     movea.l    a5,a4
  108.     lea.l    appear(pc),a0
  109.     move.w    d0,(a0)
  110.     bra    1b
  111. 4:
  112.     lea.l    appear(pc),a0
  113.     move.w    #32767,(a0)
  114. 5:
  115.  
  116.     movem.l    a1,-(sp)    **
  117.  
  118.  
  119.     move.w    #(512/16)*(512/16)-1,d7    * d7.w = ループ回数
  120.     movea.l    a5,a4
  121. xlogo_loop_2:
  122.     tst.w    counter(a4)
  123.     bmi    xlogo_loop_2_end
  124.  
  125.  
  126.     st.b    d5
  127.  
  128.     moveq.l    #4-1,d6
  129. @@:
  130.     movea.w    counter(a4),a1
  131.     move.w    a1,d0
  132.     addq.w    #1,d0
  133.     move.w    d0,counter(a4)
  134.     add.w    a1,a1
  135.     movea.w    table(pc,a1.w),a1
  136.     adda.l    gvram_ptr(a4),a1
  137.  
  138.     movea.l    a2,a0
  139.     adda.l    a1,a0
  140.     move.w    (a0),d1
  141.     move.w    8*2(a0),d2
  142.     move.w    8*512*2(a0),d3
  143.     move.w    8*512*2+8*2(a0),d4
  144.  
  145.     movea.l    a3,a0
  146.     adda.l    a1,a0
  147.     move.w    d1,(a0)
  148.     move.w    d2,8*2(a0)
  149.     move.w    d3,8*512*2(a0)
  150.     move.w    d4,8*512*2+8*2(a0)
  151.  
  152.     dbra    d6,@b
  153.  
  154.  
  155.     move.w    counter(a4),d0
  156.     cmpi.w    #64,d0
  157.     bcs    @f
  158.     move.w    #-1,counter(a4)
  159. @@:
  160.  
  161. xlogo_loop_2_end:
  162.     lea.l    work_size(a4),a4
  163.     dbra    d7,xlogo_loop_2
  164.  
  165.     movem.l    (sp)+,a1    **
  166.  
  167.     tst.b    d5
  168.     bne    xlogo_loop
  169.  
  170.     moveq.l    #0,d0
  171. xlogo_rts:
  172.     move.l    a5,d1
  173.     beq    @f
  174.     movem.l    d0,-(sp)
  175.     pea.l    (a5)
  176.     DOS    _MFREE
  177.     addq.w    #4,sp
  178.     movem.l    (sp)+,d0
  179. @@:
  180.     movem.l    (sp)+,d1-d7/a0-a5
  181.     unlk    a6
  182.     rts
  183.  
  184.  
  185. *********************************************************
  186. table:
  187.     gpos    0,0
  188.     gpos    4,4
  189.     gpos    2,6
  190.     gpos    5,1
  191.     gpos    7,3
  192.     gpos    2,2
  193.     gpos    6,6
  194.     gpos    3,7
  195.     gpos    7,1
  196.     gpos    0,4
  197.     gpos    7,7
  198.     gpos    4,2
  199.     gpos    1,5
  200.     gpos    6,0
  201.     gpos    3,3
  202.     gpos    5,7
  203.     gpos    6,2
  204.     gpos    2,0
  205.     gpos    3,5
  206.     gpos    6,4
  207.     gpos    3,1
  208.     gpos    7,5
  209.     gpos    1,3
  210.     gpos    4,6
  211.     gpos    5,3
  212.     gpos    4,0
  213.     gpos    0,2
  214.     gpos    1,7
  215.     gpos    5,5
  216.     gpos    1,1
  217.     gpos    0,6
  218.     gpos    2,4
  219.  
  220.  
  221.     gpos    1,0
  222.     gpos    5,4
  223.     gpos    3,6
  224.     gpos    6,1
  225.     gpos    0,3
  226.     gpos    3,2
  227.     gpos    7,6
  228.     gpos    4,7
  229.     gpos    0,1
  230.     gpos    1,4
  231.     gpos    0,7
  232.     gpos    5,2
  233.     gpos    2,5
  234.     gpos    7,0
  235.     gpos    4,3
  236.     gpos    6,7
  237.     gpos    7,2
  238.     gpos    3,0
  239.     gpos    4,5
  240.     gpos    7,4
  241.     gpos    4,1
  242.     gpos    0,5
  243.     gpos    2,3
  244.     gpos    5,6
  245.     gpos    6,3
  246.     gpos    5,0
  247.     gpos    1,2
  248.     gpos    2,7
  249.     gpos    6,5
  250.     gpos    2,1
  251.     gpos    1,6
  252.     gpos    3,4
  253.  
  254.  
  255. *     0 1 2 3 4 5 6 7
  256. *    00..17..25..13.. 0
  257. *    ..29..20..03..08 1
  258. *    26..05..11..16.. 2
  259. *    ..22..14..24..04 3
  260. *    09..31..01..19.. 4
  261. *    ..12..18..28..21 5
  262. *    30..02..23..06.. 6
  263. *    ..27..07..15..10 7
  264.  
  265. *     0 1 2 3 4 5 6 7
  266. *    ..00..17..25..13 0
  267. *    08..29..20..03.. 1
  268. *    ..26..05..11..16 2
  269. *    04..22..14..24.. 3
  270. *    ..09..31..01..19 4
  271. *    21..12..18..28.. 5
  272. *    ..30..02..23..06 6
  273. *    10..27..07..15.. 7
  274.  
  275. ****    ****
  276.     .even
  277. xlogo_err:
  278.     moveq.l    #-1,d0
  279.     bra    xlogo_rts
  280.  
  281.  
  282. ****    ****
  283. xlogo_ask_speed:
  284.     moveq.l    #SPEED_MAX,d0
  285.     bra    xlogo_rts
  286.  
  287.  
  288. ****    ****
  289. xlogo_ask_vdisp:
  290.     move.l    _speed(a6),d0
  291.     lea.l    ask_vdisp_table(pc),a0
  292.     add.w    d0,d0
  293.     move.w    (a0,d0.w),d0
  294.     bra    xlogo_rts
  295.  
  296. ask_vdisp_table:
  297.     .dc.w    153,102,51
  298.  
  299.  
  300. table2:
  301.             * 中心枠
  302.     dpos    2,4,0
  303.     dpos    3,4,0
  304.     dpos    4,4,0
  305.     dpos    5,4,0
  306.     dpos    6,4,0
  307.     dpos    7,4,0
  308.     dpos    8,4,0
  309.     dpos    9,4,0
  310.     dpos    10,4,0
  311.     dpos    11,4,0
  312.     dpos    12,4,0
  313.     dpos    13,4,0
  314.     dpos    14,4,0
  315.  
  316.     dpos    3,5,0
  317.     dpos    3,6,0
  318.     dpos    4,7,0
  319.     dpos    5,8,0
  320.     dpos    5,9,0
  321.     dpos    6,10,0
  322.     dpos    7,11,0
  323.     dpos    7,12,0
  324.     dpos    8,13,0
  325.     dpos    9,14,0
  326.     dpos    9,15,0
  327.     dpos    10,16,0
  328.     dpos    11,17,0
  329.     dpos    11,18,0
  330.     dpos    12,19,0
  331.     dpos    13,20,0
  332.     dpos    13,21,0
  333.     dpos    14,22,0
  334.     dpos    15,23,0
  335.     dpos    15,24,0
  336.     dpos    16,25,0
  337.     dpos    17,26,0
  338.  
  339.     dpos    14,5,0
  340.     dpos    15,6,0
  341.     dpos    16,7,0
  342.     dpos    16,8,0
  343.     dpos    17,9,0
  344.     dpos    18,10,0
  345.     dpos    18,11,0
  346.     dpos    19,12,0
  347.     dpos    20,13,0
  348.     dpos    20,14,0
  349.     dpos    21,15,0
  350.     dpos    22,16,0
  351.     dpos    22,17,0
  352.     dpos    23,18,0
  353.     dpos    24,19,0
  354.     dpos    24,20,0
  355.     dpos    25,21,0
  356.     dpos    26,22,0
  357.     dpos    26,23,0
  358.     dpos    27,24,0
  359.     dpos    28,25,0
  360.     dpos    28,26,0
  361.  
  362.     dpos    17,27,0
  363.     dpos    18,27,0
  364.     dpos    19,27,0
  365.     dpos    20,27,0
  366.     dpos    21,27,0
  367.     dpos    22,27,0
  368.     dpos    23,27,0
  369.     dpos    24,27,0
  370.     dpos    25,27,0
  371.     dpos    26,27,0
  372.     dpos    27,27,0
  373.     dpos    28,27,0
  374.     dpos    29,27,1
  375.  
  376.  
  377.             * 左枠
  378.     dpos    0,27,0
  379.     dpos    1,27,0
  380.     dpos    2,27,0
  381.     dpos    3,27,0
  382.     dpos    4,27,0
  383.     dpos    5,27,0
  384.     dpos    6,27,0
  385.     dpos    7,27,0
  386.     dpos    8,27,0
  387.     dpos    9,27,0
  388.     dpos    10,27,0
  389.     dpos    11,27,0
  390.     dpos    12,27,0
  391.     dpos    13,27,0
  392.     dpos    14,27,0
  393.  
  394.     dpos    8,17,0
  395.     dpos    8,18,0
  396.     dpos    9,19,0
  397.     dpos    10,20,0
  398.     dpos    10,21,0
  399.     dpos    11,22,0
  400.     dpos    12,23,0
  401.     dpos    12,24,0
  402.     dpos    13,25,0
  403.     dpos    14,26,0
  404.  
  405.     dpos    7,18,0
  406.     dpos    6,19,0
  407.     dpos    6,20,0
  408.     dpos    5,21,0
  409.     dpos    4,22,0
  410.     dpos    3,23,0
  411.     dpos    2,24,0
  412.     dpos    2,25,0
  413.     dpos    1,26,0
  414.  
  415.  
  416.             * 右枠
  417.     dpos    17,4,0
  418.     dpos    18,4,0
  419.     dpos    19,4,0
  420.     dpos    20,4,0
  421.     dpos    21,4,0
  422.     dpos    22,4,0
  423.     dpos    23,4,0
  424.     dpos    24,4,0
  425.     dpos    25,4,0
  426.     dpos    26,4,0
  427.     dpos    27,4,0
  428.     dpos    28,4,0
  429.     dpos    29,4,0
  430.     dpos    30,4,0
  431.     dpos    31,4,0
  432.  
  433.     dpos    17,5,0
  434.     dpos    18,6,0
  435.     dpos    19,7,0
  436.     dpos    19,8,0
  437.     dpos    20,9,0
  438.     dpos    21,10,0
  439.     dpos    21,11,0
  440.     dpos    22,12,0
  441.     dpos    23,13,0
  442.     dpos    23,14,0
  443.  
  444.     dpos    30,5,0
  445.     dpos    29,6,0
  446.     dpos    29,7,0
  447.     dpos    28,8,0
  448.     dpos    27,9,0
  449.     dpos    26,10,0
  450.     dpos    25,11,0
  451.     dpos    25,12,0
  452.     dpos    24,13,16
  453.  
  454.  
  455.  
  456.             *左中
  457.     .irp    %A,7,8
  458.     dpos    %A,19,0
  459.     .endm
  460.     .irp    %A,7,8,9
  461.     dpos    %A,20,0
  462.     .endm
  463.     .irp    %A,6,7,8,9
  464.     dpos    %A,21,0
  465.     .endm
  466.     .irp    %A,5,6,7,8,9,10
  467.     dpos    %A,22,0
  468.     .endm
  469.     .irp    %A,4,5,6,7,8,9,10,11
  470.     dpos    %A,23,0
  471.     .endm
  472.     .irp    %A,3,4,5,6,7,8,9,10,11
  473.     dpos    %A,24,0
  474.     .endm
  475.     .irp    %A,3,4,5,6,7,8,9,10,11,12
  476.     dpos    %A,25,0
  477.     .endm
  478.     .irp    %A,2,3,4,5,6,7,8,9,10,11,12,13
  479.     dpos    %A,26,0
  480.     .endm
  481.  
  482.  
  483.             *右中
  484.     .irp    %A,18,19,20,21,22,23,24,25,26,27,28,29
  485.     dpos    %A,5,0
  486.     .endm
  487.     .irp    %A,19,20,21,22,23,24,25,26,27,28
  488.     dpos    %A,6,0
  489.     .endm
  490.     .irp    %A,20,21,22,23,24,25,26,27,28
  491.     dpos    %A,7,0
  492.     .endm
  493.     .irp    %A,20,21,22,23,24,25,26,27
  494.     dpos    %A,8,0
  495.     .endm
  496.     .irp    %A,21,22,23,24,25,26
  497.     dpos    %A,9,0
  498.     .endm
  499.     .irp    %A,22,23,24,25
  500.     dpos    %A,10,0
  501.     .endm
  502.     .irp    %A,22,23,24
  503.     dpos    %A,11,0
  504.     .endm
  505. *    .irp    %A,23,24
  506. *    dpos    %A,12,0
  507. *    .endm
  508.     dpos    23,12,0
  509.     dpos    24,12,1
  510.  
  511.  
  512.             *中心中
  513.     .irp    %A,4,5,6,7,8,9,10,11,12,13
  514.     dpos    %A,5,0
  515.     .endm
  516.     .irp    %A,4,5,6,7,8,9,10,11,12,13,14
  517.     dpos    %A,6,0
  518.     .endm
  519.     .irp    %A,5,6,7,8,9,10,11,12,13,14,15
  520.     dpos    %A,7,0
  521.     .endm
  522.  
  523.     .irp    %A,6,7,8,9,10,11,12,13,14,15
  524.     dpos    %A,8,0
  525.     .endm
  526.     .irp    %A,6,7,8,9,10,11,12,13,14,15,16
  527.     dpos    %A,9,0
  528.     .endm
  529.     .irp    %A,7,8,9,10,11,12,13,14,15,16,17
  530.     dpos    %A,10,0
  531.     .endm
  532.  
  533.     .irp    %A,8,9,10,11,12,13,14,15,16,17
  534.     dpos    %A,11,0
  535.     .endm
  536.     .irp    %A,8,9,10,11,12,13,14,15,16,17,18
  537.     dpos    %A,12,0
  538.     .endm
  539.     .irp    %A,9,10,11,12,13,14,15,16,17,18,19
  540.     dpos    %A,13,0
  541.     .endm
  542.  
  543.     .irp    %A,10,11,12,13,14,15,16,17,18,19
  544.     dpos    %A,14,0
  545.     .endm
  546.     .irp    %A,10,11,12,13,14,15,16,17,18,19,20
  547.     dpos    %A,15,0
  548.     .endm
  549.     .irp    %A,11,12,13,14,15,16,17,18,19,20,21
  550.     dpos    %A,16,0
  551.     .endm
  552.  
  553.     .irp    %A,12,11,12,13,14,15,16,17,18,19,20,21
  554.     dpos    %A,17,0
  555.     .endm
  556.     .irp    %A,12,11,12,13,14,15,16,17,18,19,20,21,22
  557.     dpos    %A,18,0
  558.     .endm
  559.     .irp    %A,13,12,13,14,15,16,17,18,19,20,21,22,23
  560.     dpos    %A,19,0
  561.     .endm
  562.  
  563.     .irp    %A,14,15,16,17,18,19,20,21,22,23
  564.     dpos    %A,20,0
  565.     .endm
  566.     .irp    %A,14,15,16,17,18,19,20,21,22,23,24
  567.     dpos    %A,21,0
  568.     .endm
  569.     .irp    %A,15,16,17,18,19,20,21,22,23,24,25
  570.     dpos    %A,22,0
  571.     .endm
  572.  
  573.     .irp    %A,16,17,18,19,20,21,22,23,24,25
  574.     dpos    %A,23,0
  575.     .endm
  576.     .irp    %A,16,17,18,19,20,21,22,23,24,25,26
  577.     dpos    %A,24,0
  578.     .endm
  579.     .irp    %A,17,18,19,20,21,22,23,24,25,26,27
  580.     dpos    %A,25,0
  581.     .endm
  582.  
  583. *    .irp    %A,18,19,20,21,22,23,24,25,26,27
  584.     .irp    %A,18,19,20,21,22,23,24,25,26
  585.     dpos    %A,26,0
  586.     .endm
  587.     dpos    27,26,16
  588.  
  589.  
  590.  
  591.             * 外側
  592.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  593.     dpos    %A,0,0
  594.     .endm
  595.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  596.     dpos    %A,1,0
  597.     .endm
  598.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  599.     dpos    %A,2,0
  600.     .endm
  601.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  602.     dpos    %A,3,0
  603.     .endm
  604.  
  605.     .irp    %A,0,1,15,16
  606.     dpos    %A,4,0
  607.     .endm
  608.     .irp    %A,0,1,2,15,16,31
  609.     dpos    %A,5,0
  610.     .endm
  611.     .irp    %A,0,1,2,16,17,30,31
  612.     dpos    %A,6,0
  613.     .endm
  614.     .irp    %A,0,1,2,3,17,18,30,31
  615.     dpos    %A,7,0
  616.     .endm
  617.     .irp    %A,0,1,2,3,4,17,18,29,30,31
  618.     dpos    %A,8,0
  619.     .endm
  620.     .irp    %A,0,1,2,3,4,18,19,28,29,30,31
  621.     dpos    %A,9,0
  622.     .endm
  623.     .irp    %A,0,1,2,3,4,5,19,20,27,28,29,30,31
  624.     dpos    %A,10,0
  625.     .endm
  626.     .irp    %A,0,1,2,3,4,5,6,19,20,26,27,28,29,30,31
  627.     dpos    %A,11,0
  628.     .endm
  629.     .irp    %A,0,1,2,3,4,5,6,20,21,26,27,28,29,30,31
  630.     dpos    %A,12,0
  631.     .endm
  632.     .irp    %A,0,1,2,3,4,5,6,7,21,22,25,26,27,28,29,30,31
  633.     dpos    %A,13,0
  634.     .endm
  635.     .irp    %A,0,1,2,3,4,5,6,7,8,21,22,24,25,26,27,28,29,30,31
  636.     dpos    %A,14,0
  637.     .endm
  638.     .irp    %A,0,1,2,3,4,5,6,7,8,22,23,24,25,26,27,28,29,30,31
  639.     dpos    %A,15,0
  640.     .endm
  641.     .irp    %A,0,1,2,3,4,5,6,7,8,9,23,24,25,26,27,28,29,30,31
  642.     dpos    %A,16,0
  643.     .endm
  644.     .irp    %A,0,1,2,3,4,5,6,7,9,10,23,24,25,26,27,28,29,30,31
  645.     dpos    %A,17,0
  646.     .endm
  647.     .irp    %A,0,1,2,3,4,5,6,9,10,24,25,26,27,28,29,30,31
  648.     dpos    %A,18,0
  649.     .endm
  650.     .irp    %A,0,1,2,3,4,5,10,11,25,26,27,28,29,30,31
  651.     dpos    %A,19,0
  652.     .endm
  653.     .irp    %A,0,1,2,3,4,5,11,12,25,26,27,28,29,30,31
  654.     dpos    %A,20,0
  655.     .endm
  656.     .irp    %A,0,1,2,3,4,11,12,13,26,27,28,29,30,31
  657.     dpos    %A,21,0
  658.     .endm
  659.     .irp    %A,0,1,2,3,12,13,27,28,29,30,31
  660.     dpos    %A,22,0
  661.     .endm
  662.     .irp    %A,0,1,2,13,14,27,28,29,30,31
  663.     dpos    %A,23,0
  664.     .endm
  665.     .irp    %A,0,1,13,14,27,28,29,30,31
  666.     dpos    %A,24,0
  667.     .endm
  668.     .irp    %A,0,1,14,15,28,29,30,31
  669.     dpos    %A,25,0
  670.     .endm
  671.     .irp    %A,0,15,16,29,30,31
  672.     dpos    %A,26,0
  673.     .endm
  674.     .irp    %A,15,16,30,31
  675.     dpos    %A,27,0
  676.     .endm
  677.  
  678.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  679.     dpos    %A,28,0
  680.     .endm
  681.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  682.     dpos    %A,29,0
  683.     .endm
  684.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  685.     dpos    %A,30,0
  686.     .endm
  687.     .irp    %A,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
  688.     dpos    %A,31,0
  689.     .endm
  690.  
  691.  
  692.  
  693.  
  694.     .dc.l    -1        * 終端フラグ
  695.  
  696.  
  697. appear:
  698.     .ds.w    1
  699.  
  700.  
  701.